from fastapi import APIRouter
from selenium import webdriver
from selenium.webdriver import Keys
from selenium.webdriver.edge.service import Service as EdgeService
from selenium.webdriver.common.by import By
import time

router = APIRouter(
    prefix="/edge",
    tags=["Edge"]
)


@router.get("/start")
def start():
    webdriver_path = r"D:\zkfy-liu\py\test1\edge\msedgedriver.exe"  # 使用原始字符串避免转义字符问题
    # 创建Edge浏览器服务对象
    service = EdgeService(webdriver_path)
    # 创建Edge浏览器选项（可以省略或根据需要配置）
    options = webdriver.EdgeOptions()
    # 启动Edge浏览器
    driver = webdriver.Edge(service=service, options=options)
    try:
        # 打开百度首页
        driver.get("https://www.baidu.com")
        print("页面已打开，标题为：", driver.title)
        # 等待页面加载完成（也可以用WebDriverWait更智能地等待某个元素出现）
        time.sleep(2)
        # 查找搜索框元素（通过name属性"wd"定位）
        search_box = driver.find_element(By.NAME, "wd")
        # 输入搜索内容
        search_box.send_keys("Selenium 自动化测试")
        # 模拟按下回车键进行搜索
        search_box.send_keys(Keys.RETURN)
        # 等待搜索结果页面加载
        time.sleep(3)
        # 输出当前页面标题和网址
        print("搜索结果页标题：", driver.title)
        print("当前网址：", driver.current_url)
    finally:
        # 这里不调用 driver.quit() 将不会主动关闭浏览器
        pass
